package com.uchiha.nova.mainService.service;

import com.uchiha.nova.core.model.dto.TenantDTO;
import com.uchiha.nova.core.model.entity.NavMenuEntity;
import com.uchiha.nova.core.model.entity.RoleEntity;
import com.uchiha.nova.core.model.vo.NavMenuVO;
import com.uchiha.nova.core.model.vo.RoleSelectVO;
import com.uchiha.nova.core.model.vo.TenantNavMenuSelectVO;
import com.uchiha.nova.core.model.vo.TreeVO;
import com.uchiha.nova.core.tool.support.BaseService;
import com.uchiha.nova.core.tool.support.DictBizVO;

import java.util.List;

/**
 * 侧边栏 服务类
 *
 * @author Chill
 */
public interface INavMenuService extends BaseService<NavMenuEntity> {
    boolean deletePhysics(List<Long> ids);

    List<NavMenuVO> getByRoles(List<RoleEntity> roles);

    List<NavMenuVO> getTree(Long parentId);

    List<TreeVO> getTreeAll();

    List<String> getRoleHasSelect(Long roleId);

    Boolean saveRoleSelectVO(RoleSelectVO roleSelectVO);

    List<TreeVO> getTreeTenantAll(String roleName);

    List<String>  tenantHasSelect(String tenantId);

    Boolean saveTenantSelectVO(TenantNavMenuSelectVO tenantNavMenuSelectVO);

    List<TreeVO> tenantCanSelect(String tenantId);

    List<DictBizVO> treeDict();

    boolean deleteAll(List<Long> ids);

    void initTenant(TenantDTO tenantDTO);


}
